An image capture system, such as a camera, will produce an image that is a degraded representation of the object being imaged. If the imaging system is assumed to be linear and shift invariant, then the image can be expressed asg(x,y)=f(x,y)*h(x,y)+n(x,y),  (Equation 1)where g(x,y) is the intensity value of the image data, f(x,y) is the intensity value of the object being imaged, h(x,y) is the point-spread function of the imaging system, and n(x,y) is the random additive noise. In this notation (x,y) represents the coordinate locations and * represents a two-dimensional convolution operation. If the Fourier transform is taken, then the image spectrum can be expressed asG(u,v)=F(u,v)H(u,v)+N(u,v),  (Equation 2)where G(u,v) is the image spectrum, F(u,v) is the object spectrum, H(u,v) is the transfer function of the imaging system, and N(u,v) is the noise spectrum. In this notation (u,v) represents the spatial frequency coordinate locations. The modulation transfer function, MTF(u,v), is the modulus of the system transfer function, H(u,v), and measures the reduction of the image contrast as a function of spatial frequencies of an image capture system. The diffraction of light causes the MTF to fall below unity for diffraction-limited incoherent imaging systems, thus imaging systems have the effect of blurring the object being imaged.
Images are typically processed with an image enhancement filter to improve the resulting image quality. In the Fourier domain, linear image enhancement methods multiply the image data with a filter, i.e.G′(u,v)=G(u,v)W(u,v),  (Equation 3)where G′(u,v) is the enhanced image spectrum and W(u,v) is the enhancement filter. The inverse Fourier transform of G′(u,v) results in the enhanced image g′(x,y). In the spatial domain, the image data is convolved with the Inverse Fourier transform of the enhancement filter, i.e.g′(x,y)=g(x,y)*w(x,y),  (Equation 4)where w(x,y) is the image enhancement kernel, given by the inverse Fourier transform of the image enhancement filter.
It should be noted that applications exist where the image enhancement filter may actually degrade the image data further. For example, if the image contains a high amount of noise, the image enhancement filter may be designed to blur the image data, resulting in an image that can be interpreted easier.
If the noise term is ignored, then the restoration function that best reproduces the object is simply given by the inverse of the transfer function,
                              W          ⁡                      (                          u              ,              v                        )                          =                              1                          H              ⁡                              (                                  u                  ,                  v                                )                                              .                                    (                  Equation          ⁢                                          ⁢          5                )            In general the inverse filter leads to unsatisfactory image quality because H(u,v) can have very small values, which will cause W(u,v) to be large and enhance any noise that occurs in the image. If H(u,v)=0, then W(u,v) is not defined.
A linear restoration filter designed to minimize the difference between f(x,y) and g′(x,y) is the Wiener-Helstrom filter, given by
                              W          ⁡                      (                          u              ,              v                        )                          =                                                            H                *                            ⁡                              (                                  u                  ,                  v                                )                                                                                                                            H                    ⁡                                          (                                              u                        ,                        v                                            )                                                                                        2                            +                                                                                                              N                      ⁡                                              (                                                  u                          ,                          v                                                )                                                                                                  2                                                                                                                F                      ⁡                                              (                                                  u                          ,                          v                                                )                                                                                                  2                                                              .                                    (                  Equation          ⁢                                          ⁢          6                )            For most imaging systems, the Wiener-Helstrom filter is greater than unity at the low and middle spatial frequencies to sharpen the image but then transitions to values below unity at the higher spatial frequencies where the noise dominates, thus blurring the high details in the image where the noise dominates. Unfortunately, the Wiener-Helstrom filter requires knowledge of H(u,v), N(u,v), and F(u,v), which are usually not all known. Also, the Wiener-Helstrom filter is designed to minimize the difference between f(x,y) and g′(x,y) such that g′(x,y) is an estimate of the original object, but this generally does not produce the optimal image enhancement for image exploitation.
A gain term, α, has been added to the Wiener-Helstrom filter in prior art, given by
                                          W            ⁡                          (                              u                ,                v                            )                                =                                                    H                *                            ⁡                              (                                  u                  ,                  v                                )                                                                                                                            H                    ⁡                                          (                                              u                        ,                        v                                            )                                                                                        2                            +                              α                ⁢                                                                                                                          N                        ⁡                                                  (                                                      u                            ,                            v                                                    )                                                                                                            2                                                                                                                            F                        ⁡                                                  (                                                      u                            ,                            v                                                    )                                                                                                            2                                                                                      ,                            (                  Equation          ⁢                                          ⁢          7                )            to allow the user to trade-off the image sharpness with the enhancement of the noise. Although this variable gain Wiener-Helstrom filter tends to sharpen the image while minimizing the enhancement of the noise, the peak value may not be at a frequency desired by the user.
It is common practice to design image enhancement filters that amplify spatial frequencies that are not dominated by noise and attenuate spatial frequencies that are dominated by noise. A DFT (discrete Fourier Transform) is typically used in the art to generate an image enhancement filter with the desired values at specified frequencies, but this method does not allow the user to specify a peak amplitude of the filter. For example, one can design a one-dimensional filter that has a value of 1.0 at u=0, peaks with a value of 10 at u=0.35, and a value of zero at u=0.5. The spatial frequency is in units of cycles/pixel, such that the Nyquist frequency uN=0.5. A 5-pixel kernel would have the response shown in FIG. 1. Note that the image enhancement filter has the desired shape of the Wiener-Helstrom filter and W(u) has the correct values at the specified spatial frequencies, but the peak value of the filter is not the desired value at the desired spatial frequency. More points can be specified to force the DFT to produce the desired shape with the correct peak, but this is time-consuming and will result in larger kernel sizes for processing, which is undesirable if the enhancement processing is performed in the spatial domain.
It would thus be desirable to provide a fast and simple method for image enhancement filtering that allows a user to specify filter spatial boundary frequencies and, if desired, to specify peak filter values at the specified spatial boundary frequencies.